/*
Automatic clinic tests using a robot arm.
Copyright (C) 2010  CIC-CPC, CHU Gabriel Montpied
All other trademarks, logos and copyrights are the property
of their respective owners.

This file is part of cpc-painbot.

cpc-painbot is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

cpc-painbot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with cpc-painbot.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "testcapteur.h"

#include <QSignalSpy>
#include <QDebug>
#include <QTest>

#include "capteur.h"

void TestCapteur::initTestCase()
{
    qRegisterMetaType<QVariant>("QVariant");
}

void TestCapteur::testMesure()
{
    Capteur capteur;
    QSignalSpy sig_mesure(&capteur, SIGNAL(mesure(QVariant)));

    capteur.setMesure(24);

    QCOMPARE(sig_mesure.count(), 1);
    QList<QVariant> arguments = sig_mesure.takeFirst();

    QCOMPARE(arguments.count(), 1);
    QVariant mesure = arguments.takeFirst().value<QVariant>();

    QVERIFY(mesure.isValid() == true);
    QVERIFY(mesure.isNull() == false);

    QCOMPARE(mesure.toInt(), 24);
}
